#ifndef LEVELLOADER_H
#define LEVELLOADER_H

#include <string>
#include <fstream>
#include <vector>

#include <boost\shared_ptr.hpp>
#include "Point.h"

#include "GlobalVariables.h"

using namespace std;

class LevelLoader
{
public:	

	LevelLoader(int level);
	vector<vector<Movable_type>> getMapData();
	Point getDigdugPosition();
	vector <Point> getMonstersPosition();
	

private:	
	ifstream mapfile;		//!< CSS data for Map
	ifstream movablesfile; //!< CSS data for Movables
	void loadObjects();
	vector <string> movables_data_string;
	Point stringToPoint(string string_line);

	void mapLineToMapElements(vector<Movable_type>& line_elements, const string &string_line);
	Movable_type stringToHolesAndSand(string &s_type);

};

#endif

